home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / SHORTANT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  11.1 KB  |  380 lines

  1. 10  'SHORTANT - Short Off-Centre Loaded Dipole -  25 JAN 94 rev. 30 DEC 96
  2. 20  'ref The ARRL ANTENNA ANTHOLOGY, publication no.36, page 107
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  PROG$="shortant"
  5. 50  COMMON EX$,PROG$,U,UH,LX
  6. 60  CLS:KEY OFF
  7. 70  COLOR 7,0,1
  8. 80  DIM GA(40)    'AWG sizes
  9. 90  DIM L(9)
  10. 100  PI=3.14159
  11. 110  UL$=STRING$(80,205)
  12. 120  U$="#####.##"
  13. 130  V$="#####.###"
  14. 140  F$="###.###"
  15. 150  G$="####.###"
  16. 160  '
  17. 170  '.....AWG sizes
  18. 180  K=(0.46/0.005)^(1/39)  'increment multiplier
  19. 190   FOR Z=1 TO 40
  20. 200    N=Z+3
  21. 210    GA(Z)=0.46/K^N
  22. 220   NEXT Z
  23. 230  '
  24. 240  '.....start
  25. 250  CLS
  26. 260  COLOR 15,2
  27. 270  PRINT " SHORT OFF-CENTRE LOADED DIPOLE";
  28. 280  PRINT TAB(57)"by George Murphy VE3ERP ";
  29. 290  COLOR 1,0:PRINT STRING$(80,223);
  30. 300  COLOR 7,0
  31. 310  IF LX THEN 320 ELSE 350
  32. 320  PRINT " The current predetermined data are for an antenna length of"
  33. 330  PRINT USING F$;LX*0.3048;:PRINT " m. (";USING F$;LX;:PRINT " ft.)"
  34. 340  GOTO 380
  35. 350  IF UH=0 AND U<>0 THEN UH=U
  36. 360  IF UH THEN 400 'skip preface
  37. 370  GOSUB 3510     'preface
  38. 380  PRINT UL$;
  39. 390  '
  40. 400  PRINT TAB(7);
  41. 410  PRINT "To prune an existing antenna you must first RUN a new program"
  42. 420  PRINT TAB(7);
  43. 430  PRINT "entering the same data used for the design of the existing antenna"
  44. 440  PRINT TAB(7);
  45. 450  PRINT "to let the computer know what it is you want to prune."
  46. 460  PRINT UL$;
  47. 470  PRINT " Press number in < > to:
  48. 480  PRINT UL$;
  49. 490  PRINT "   < 1 > RUN new program"
  50. 500  IF UH=0 THEN 560
  51. 510  PRINT "   < 2 > Design an AIR-CORE INDUCTOR for this type of antenna"
  52. 520  PRINT "   < 3 > SELECT a commercial inductor for this type of antenna"
  53. 530  IF F=0 OR NF<>0 THEN 550
  54. 540  PRINT "   < 4 > PRUNE existing antenna"
  55. 550  PRINT UL$;
  56. 560  PRINT "   < 0 > EXIT"
  57. 570  Z$=INKEY$
  58. 580  IF Z$=""THEN 570
  59. 590  IF Z$="0"THEN CLS:RUN EX$
  60. 600  IF Z$="1"THEN M=0:UH=0:F=0:D=0:LG=0:BB=0:W=0:DIA=0:GOTO 950   'variables
  61. 610  IF Z$="2"THEN CLS:CHAIN"coildsgn"
  62. 620  IF Z$="3"THEN U=UH:CLS:CHAIN "aircore"
  63. 630  IF F=0 THEN 650
  64. 640  IF Z$="4"THEN 670
  65. 650  GOTO 570
  66. 660  '
  67. 670  '.....prune
  68. 680  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  69. 690  PRINT " Antenna was designed for a centre frequency of";F;"MHz.
  70. 700  PRINT
  71. 710  INPUT " ENTER: Frequency (MHz) where minimum SWR occurs";F1
  72. 720  LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
  73. 730  PRINT " Minimum SWR occurs at..........";USING F$;F1;:PRINT " MHz"
  74. 740  DIFF=F1-F
  75. 750  PRINT " Offset from design frequency...";USING F$;DIFF;:PRINT " MHz"
  76. 760  NF=F-DIFF
  77. 770  PRINT " PRUNE frequency................";USING F$;NF;:PRINT " Mhz"
  78. 780  PRINT
  79. 790  TB=7
  80. 800  PRINT TAB(TB);
  81. 810  PRINT " Re-designing the antenna for the PRUNE frequency should shift the"
  82. 820  PRINT TAB(TB);
  83. 830  PRINT " frequency of minimum SWR closer to the original design frequency"
  84. 840  PRINT TAB(TB);
  85. 850  PRINT " of";F;"MHz."
  86. 860  PRINT
  87. 870  PRINT TAB(TB);
  88. 880  PRINT " Press any key for specifications of re-designed antenna..,,,....."
  89. 890  IF INKEY$=""THEN 890
  90. 900  F=NF
  91. 910  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  92. 920  GOTO 1120
  93. 930  END
  94. 940  '
  95. 950  '.....preamble
  96. 960  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  97. 970  IF BB THEN 1060
  98. 980  PRINT " Press number in < > to choose standard units of measure:"
  99. 990  PRINT UL$;
  100. 1000  PRINT "  < 1 >  Metric"
  101. 1010  PRINT "  < 2 >  U.S.A./Imperial"
  102. 1020  Z$=INKEY$
  103. 1030  IF Z$="1"THEN UM=0.3048:UM$=" m.":GOTO 1060
  104. 1040  IF Z$="2"THEN UM=1:UM$=" ft.":GOTO 1060
  105. 1050  GOTO 1020
  106. 1060  IF M THEN 1120
  107. 1070  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  108. 1080  GOSUB 2890      'text
  109. 1090  GOSUB 3670      'screen dump
  110. 1100  PRINT UL$;
  111. 1110  '
  112. 1120  '.....diagram
  113. 1130  CLS
  114. 1140  T=11    'tab
  115. 1150  COLOR 0,7
  116. 1160  LOCATE,T:PRINT"                                                           "
  117. 1170  LOCATE,T:PRINT" CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND A SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  118. 1180  LOCATE,T:PRINT" CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND A/2 SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND A/2 SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  119. 1190  LOCATE,T:PRINT" CALLDEFSNGSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUND B SOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUND B SOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDDEFDBLCALL "
  120. 1200  LOCATE,T:PRINT" CALL                                                       CALL "
  121. 1210  LOCATE,T:PRINT" /SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDBSAVE/BSAVESOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND/ "
  122. 1220  LOCATE,T:PRINT"           L                PRESETSOUND'                L           "
  123. 1230  LOCATE,T:PRINT"      loading coil      50 -OPEN COAX        loading coil     "
  124. 1240  COLOR 7,0
  125. 1250  PRINT UL$;
  126. 1260  '
  127. 1270  '.....input parameters
  128. 1280     IF F THEN 1310
  129. 1290  INPUT" ENTER: Centre frequency (in MHz) of the band you want to operate ";F
  130. 1300  IF F=0 THEN LOCATE CSRLIN-1:GOTO 1290
  131. 1310  SP=300/F*0.656*UM
  132. 1320  VIEW PRINT 10 TO 24:CLS:VIEW PRINT:LOCATE 10
  133. 1330  PRINT " For maximum efficiency at";F;"MHz, dimension A should be at least";
  134. 1340  PRINT INT(SP*100)/100;UM$
  135. 1350  PRINT " Shorter antennas will also work, but at reduced efficiency."
  136. 1360  PRINT UL$;
  137. 1370    IF LG=0 AND LX<>0 THEN LG=LX     'if lgth chained from SHORTDIP
  138. 1380    IF LG THEN 1420
  139. 1390  PRINT " ENTER: Length (";UM$;")..........................A= ";:INPUT LG
  140. 1400  LG=LG/UM
  141. 1410  IF LG=0 THEN LOCATE CSRLIN-1:GOTO 1390
  142. 1420    IF DIA THEN 1590
  143. 1430  VIEW PRINT 10 TO 24:CLS:VIEW PRINT:LOCATE 10
  144. 1440  PRINT " Press letter in < > to select conductor size:"
  145. 1450  PRINT UL$;
  146. 1460  PRINT "   < a >  Diameter in millimetres"
  147. 1470  PRINT "   < b >  Diameter in inches"
  148. 1480  PRINT "   < c >  AWG#"
  149. 1490  Z$=INKEY$
  150. 1500  IF Z$="a"OR Z$="A"THEN WS$="mm":GOTO 1540
  151. 1510  IF Z$="b"OR Z$="B"THEN WS$="inches":GOTO 1540
  152. 1520  IF Z$="c"OR Z$="C"THEN WS$="AWG#":GOTO 1540
  153. 1530  GOTO 1490
  154. 1540  PRINT " ENTER: Wire size (";WS$;")";:INPUT ZD
  155. 1550  IF WS$="mm"THEN DIA=ZD/25.4
  156. 1560  IF WS$="inches"THEN DIA=ZD
  157. 1570  IF WS$="AWG#"THEN DIA=GA(ZD)
  158. 1580  '
  159. 1590  '.....display data
  160. 1600  VIEW PRINT 10 TO 24:CLS:VIEW PRINT
  161. 1610  COLOR 0,7
  162. 1620  IF UM=1 THEN 1630 ELSE 1680
  163. 1630  X=LG:GOSUB 2780:LOCATE 2,36:PRINT X$;" "
  164. 1640  X=LG/2:GOSUB 2780:LOCATE 3,21:PRINT X$;" "
  165. 1650  LOCATE 3,50:PRINT X$;" "
  166. 1660  GOTO 1720
  167. 1670  '
  168. 1680  LOCATE 2,40:PRINT USING F$;LG*0.3048;:PRINT " m. "
  169. 1690  LOCATE 3,20:PRINT USING F$;LG/2*0.3048;:PRINT " m. "
  170. 1700  LOCATE 3,51:PRINT USING F$;LG/2*0.3048;:PRINT " m. "
  171. 1710  '
  172. 1720  COLOR 7,0
  173. 1730  LOCATE 9:PRINT STRING$(80,32);
  174. 1740  PRINT " TYPICAL";F;"MHz ";
  175. 1750  Y$=WS$
  176. 1760  IF WS$="inches"THEN Y$=CHR$(34)
  177. 1770  IF WS$="AWG#"THEN Y$=CHR$(34)
  178. 1780  Y=DIA:IF Y$="mm"THEN Y=Y*25.4
  179. 1790  PRINT "SHORT DIPOLE ANTENNA USING";USING "##.###";Y;
  180. 1800  PRINT Y$;" WIRE.";
  181. 1810  IF WS$="AWG#"THEN PRINT " ( ";WS$;ZD;")"ELSE PRINT ""
  182. 1820  PRINT UL$;
  183. 1830  W=ZD   'AWG # for chaining to coil designer program
  184. 1840  '
  185. 1850  '.....calculate and print
  186. 1860  F1=10^6/(68*PI^2*F^2)
  187. 1870  IF BB=0 THEN 1920
  188. 1880  Z=0
  189. 1890  B=BB
  190. 1900  GOTO 1940
  191. 1910  '
  192. 1920  FOR Z=1 TO 9 '*************************START LOOP************************
  193. 1930   B=Z*0.1*LG/2
  194. 1940    F2=LOG((24*(234/F)-B)/DIA-1)
  195. 1950    F3=(1-F*B/234)^2-1
  196. 1960    F4=234/F-B
  197. 1970    F5=LOG((24*LG/2-B)/DIA-1)
  198. 1980    F6=((F*LG/2-F*B)/234)^2-1
  199. 1990    F7=LG/2-B
  200. 2000    L(Z)=F1*(F2*F3/F4-F5*F6/F7)
  201. 2010   IF L(Z)>0 THEN 2260
  202. 2020  '
  203. 2030  BEEP:VIEW PRINT 10 TO 24:CLS:VIEW PRINT:LOCATE 10
  204. 2040  PRINT UL$;
  205. 2050  PRINT " Available space is ample for a full size half-wave";
  206. 2060  PRINT F;"MHz Dipole, which is"
  207. 2070  WL=492/F          '1/2 wavelength in free space, in feet
  208. 2080  RA=WL*12/DIA      'ratio of 1/2 wavelength to wire diameter
  209. 2090  K=0.91
  210. 2100  IF RA>10 THEN K=0.92
  211. 2110  IF RA>12 THEN K=0.93
  212. 2120  IF RA>15 THEN K=0.94
  213. 2130  IF RA>22 THEN K=0.95
  214. 2140  IF RA>50 THEN K=0.96
  215. 2150  IF RA>200 THEN K=0.97
  216. 2160  IF RA>2000 THEN K=0.98
  217. 2170  HW=492*K/F        'length of half wave flat top, in feet
  218. 2180  HW=0.95*HW/K       'end effect correction for F<30MHz
  219. 2190  IF UM=1 THEN X=HW:GOSUB 2780:PRINT X$;" long":GOTO 2210
  220. 2200  IF UM<>1 THEN X=HW*0.3048:X=INT(X*100+0.5)/100:PRINT X;"m. long"
  221. 2210  PRINT UL$;
  222. 2220  GOSUB 3670
  223. 2230  GOTO 240
  224. 2240  END
  225. 2250  '
  226. 2260  '.....calculate lengths
  227. 2270  IF UM=1 THEN X=B:GOSUB 2780:PRINT "<";Z;">   B=";X$;
  228. 2280  IF UM<>1 THEN PRINT "<";Z;">   B=";USING F$;B*0.3048;:PRINT" m.";
  229. 2290  IF UM=1 THEN X=LG/2-B:GOSUB 2780:PRINT TAB(24);"C=";X$;
  230. 2300  IF UM<>1 THEN X=LG/2-B:PRINT TAB(24);"C=";USING F$;X*0.3048;:PRINT" m.";
  231. 2310  PRINT TAB(40);"Inductors L=";USING F$;L(Z);:PRINT " >H";
  232. 2320  IF Z=1 THEN PRINT TAB(65);"Least Efficient";
  233. 2330  IF Z=5 THEN PRINT TAB(65);"( B = C )";
  234. 2340  IF Z=9 THEN PRINT TAB(65);"Most Efficient";
  235. 2350  IF Z<10 THEN PRINT ""
  236. 2360  IF BB THEN Z=0:GOTO 2410
  237. 2370  NEXT Z       '**************************END LOOP*************************
  238. 2380  GOTO 2410
  239. 2390  '
  240. 2400  UH=L(Z):GOSUB 3670
  241. 2410  COLOR 0,7:LOCATE 23,8
  242. 2420  PRINT " Do you want to calculate other B & C dimensions?    (y/n) "
  243. 2430  COLOR 7,0
  244. 2440  Z$=INKEY$:IF Z$=""THEN 2440
  245. 2450  IF Z$="n"THEN LOCATE 23:PRINT STRING$(80,32);:LOCATE 23:GOTO 2630
  246. 2460  IF Z$="y"THEN LOCATE 23:PRINT STRING$(80,32);:LOCATE 23:GOTO 2500
  247. 2470  GOTO 2440
  248. 2480  COLOR 7,0
  249. 2490  '
  250. 2500  '.....alternate B & C dimensions
  251. 2510  LOCATE 23
  252. 2520  PRINT " ENTER: Desired dimension B (in ";UM$;")....B= ";:INPUT B
  253. 2530  B=B/UM
  254. 2540  LOCATE CSRLIN-1:PRINT STRING$(80,32);
  255. 2550  J=LG/UM/2
  256. 2560  IF B=<J THEN LOCATE 22:GOTO 2610
  257. 2570  BEEP:LOCATE 23:PRINT STRING$(80,32);:LOCATE 22:COLOR 0,7
  258. 2580  PRINT " Dimension B must be less than";J;UM$;"....PRESS ANY KEY...."
  259. 2590  IF INKEY$=""THEN 2590
  260. 2600  COLOR 7,0:LOCATE CSRLIN-1:PRINT STRING$(80,32);:GOTO 2510
  261. 2610  Z=0:BB=B:GOTO 1940
  262. 2620  '
  263. 2630  '.....end
  264. 2640  IF NF THEN LOCATE 12:PRINT "      ":GOSUB 3670:GOTO 2720
  265. 2650  GOSUB 3670    'screen dump
  266. 2660  LOCATE 25,1:PRINT STRING$(80,32);
  267. 2670  LOCATE 23,8:COLOR 0,7
  268. 2680  PRINT " Press a number in < > above to select your choice of antenna..."
  269. 2690  COLOR 7,0
  270. 2700  Z$=INKEY$:IF Z$=""THEN 2700
  271. 2710  IF VAL(Z$)<0 OR VAL(Z$)>9 THEN 2700
  272. 2720  UH=L(VAL(Z$))
  273. 2730  IF Z$="0"THEN 2750
  274. 2740  BB=VAL(Z$)*0.1*LG/2
  275. 2750  CLS:GOTO 240
  276. 2760  END
  277. 2770  '
  278. 2780  '.....convert to feet and inches
  279. 2790  FT=INT(X)
  280. 2800  IN=(X-FT)*12
  281. 2810  IF IN>=12 THEN IN=IN-12:FT=FT+1
  282. 2820  FT$=STR$(FT)
  283. 2830  IF LEN(FT$)<3 THEN FT$=" "+FT$:GOTO 2830
  284. 2840  IN$=STR$(IN)
  285. 2850  IF INT(IN)>9 THEN IN$=LEFT$(IN$,5)ELSE IN$=LEFT$(IN$,4)
  286. 2860  X$=FT$+"'-"+IN$+CHR$(34)
  287. 2870  RETURN
  288. 2880  '
  289. 2890  '.....text block
  290. 2900  TB=7      'tab for text
  291. 2910  PRINT TAB(TB);
  292. 2920  PRINT "  This antenna is a dipole with lumped-constant loading. At modest"
  293. 2930  PRINT TAB(TB);
  294. 2940  PRINT "heights (10-30 metres) it will work well if its physical length is"
  295. 2950  PRINT TAB(TB);
  296. 2960  PRINT "longer than 0.2 x wavelength. This threshold length is displayed"
  297. 2970  PRINT TAB(TB);
  298. 2980  PRINT "early in the program. Shorter lengths will be less efficient."
  299. 2990  PRINT TAB(TB);
  300. 3000  PRINT "  The antenna can be fed directly with 50- coaxial line. The design"
  301. 3010  PRINT TAB(TB);
  302. 3020  PRINT "is based on the concept of inductive loading, widely used in centre"
  303. 3030  PRINT TAB(TB);
  304. 3040  PRINT "loaded mobile whip antennas."
  305. 3050  PRINT TAB(TB);
  306. 3060  PRINT "  For maximum efficiency the antenna should be as long as possible,"
  307. 3070  PRINT TAB(TB);
  308. 3080  PRINT "consistent with available space. The loading coils should be as far"
  309. 3090  PRINT TAB(TB);
  310. 3100  PRINT "from the centre feed point as possible, bearing in mind that the"
  311. 3110  PRINT TAB(TB);
  312. 3120  PRINT "farther the coils are from the feed point the larger they become."
  313. 3130  PRINT TAB(TB);
  314. 3140  PRINT "  The program calculates 9 different combinations of inductor size"
  315. 3150  PRINT TAB(TB);
  316. 3160  PRINT "and location. You can specify an additional location if you wish."
  317. 3170  PRINT TAB(TB);
  318. 3180  PRINT "  For maximum efficiency select the combination using the largest"
  319. 3190  PRINT TAB(TB);
  320. 3200  PRINT "inductor that is practical for your application. When you select"
  321. 3210  PRINT TAB(TB);
  322. 3220  PRINT "one of the options you will be given the option of selecting a"
  323. 3230  PRINT TAB(TB);
  324. 3240  PRINT "commercial coil of the inductance required or designing your own."
  325. 3250  PRINT TAB(TB);
  326. 3260  PRINT "For an acceptable Q use a coil whose length does not exceed twice"
  327. 3270  PRINT TAB(TB);
  328. 3280  PRINT "its diameter."
  329. 3290  PRINT TAB(TB);
  330. 3300  PRINT "  Make printouts of each screen display as you are designing your"
  331. 3310  PRINT TAB(TB);
  332. 3320  PRINT "antenna for later use when testing and pruning.";
  333. 3330  GOSUB 3670
  334. 3340  CLS
  335. 3350  PRINT TAB(TB);
  336. 3360  PRINT "  Pruning is accomplished by adjusting the number of turns on the"
  337. 3370  PRINT TAB(TB);
  338. 3380  PRINT "loading coils. All you have to do is determine the frequency where"
  339. 3390  PRINT TAB(TB);
  340. 3400  PRINT "the SWR is lowest. Run the program again, using the original data,"
  341. 3410  PRINT TAB(TB);
  342. 3420  PRINT "except you re-design the antenna for the PRUNE frequency, which the"
  343. 3430  PRINT TAB(TB);
  344. 3440  PRINT "program provided when you selected the PRUNE option from the menu."
  345. 3450  PRINT TAB(TB);
  346. 3460  PRINT "  What the PRUNE option does is shift the design centre frequency"
  347. 3470  PRINT TAB(TB);
  348. 3480  PRINT "from where it ended up to where you wanted it in the first place."
  349. 3490  RETURN
  350. 3500  '
  351. 3510  '.....preface
  352. 3520  OPEN"I",1,"\data\docfiles\antenna.doc"
  353. 3530  IF EOF(1)THEN 3550
  354. 3540  INPUT#1,NOTE$:PRINT "   ";NOTE$:GOTO 3530
  355. 3550  CLOSE:PRINT UL$;
  356. 3560  T=7
  357. 3570  PRINT TAB(T);
  358. 3580  PRINT "This electrically shortened dipole is similar in appearance to a"
  359. 3590  PRINT TAB(T);
  360. 3600  PRINT "trap dipole except the `traps' consist of coils only, causing the"
  361. 3610  PRINT TAB(T);
  362. 3620  PRINT "antenna to operate not unlike two mobile inductively loaded whips"
  363. 3630  PRINT TAB(T);
  364. 3640  PRINT "mounted horizontally, base-to-base."
  365. 3650  RETURN
  366. 3660  '
  367. 3670  'HARDCOPY
  368. 3680  GOSUB 3790:LOCATE 25,2:COLOR 14,6
  369. 3690  PRINT " Press 1 to print screen, 2 to print screen & ";
  370. 3700  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  371. 3710  Z$=INKEY$:IF Z$="3"THEN GOSUB 3790:RETURN
  372. 3720  IF Z$="1"OR Z$="2"THEN GOSUB 3790:GOTO 3740
  373. 3730  GOTO 3710
  374. 3740  FOR QX=1 TO 24:FOR QY=1 TO 80
  375. 3750  LPRINT CHR$(SCREEN(QX,QY));
  376. 3760  NEXT QY:NEXT QX
  377. 3770  IF Z$="2"THEN LPRINT CHR$(12)
  378. 3780  GOTO 3680
  379. 3790  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  380.